package com.ylkj.bus.app.report;

import com.ylkj.bus.BaseDO;
import com.ylkj.dao.TableField;
import com.ylkj.dao.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * @Author: wengzx
 * @Date: 2025/3/17
 * @Desc: 容器与应用关联表列表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_iotp_container_app")
public class ContainerAppDO extends BaseDO {
    /**
     * @fieldName: serialVersionUID
     * @fieldType: long
     * @Description: TODO
     */
    private static final long serialVersionUID = 1L;

    /**
     * @fieldName: id
     * @fieldType: String
     * @Description: ID
     */
    @TableField("id")
    private String id;
    /**
     * @fieldName: containerId
     * @fieldType: String
     * @Description: 容器id
     */
    @TableField("container_id")
    private String containerId;
    /**
     * @fieldName: appId
     * @fieldType: String
     * @Description: 应用id
     */
    @TableField("app_id")
    private String appId;
    /**
     * @fieldName: optionStatus
     * @fieldType: String
     * @Description: app操作状态 OPTION_STATUS  字典表  01:指令下发成功, 04:升级中,05:升级失败,06:升级成功,07:安装成功,08:安装失败,09:已卸载
     */
    @TableField("option_status")
    private String optionStatus;
    /**
     * @fieldName: serivceStatus
     * @fieldType: String
     * @Description: app服务状态 SERVICE_STATUS  字典表  01:启动,  02:停止
     */
    @TableField("serivce_status")
    private String serivceStatus;
    /**
     * @fieldName: enableStatus
     * @fieldType: String
     * @Description: app使能状态 ENABLED_STATUS  字典表  01:使能, 02:去使能
     */
    @TableField("enable_status")
    private String enableStatus;

    @TableField("belong_id")
    private String belongId;

    /**
     * 来源 1:平台新增 2：终端预置
     */
    @TableField("source")
    private Integer source;

    /**
     * app的哈希值
     */
    @TableField("app_hash")
    private String appHash;

    /**
     * 运行时间，单位：秒
     */
    @TableField("life_time")
    private Long lifeTime;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;
}
